Methods and devices for updating an adaptive filter for echo cancellation

ABSTRACT

Methods and devices for enabling and disabling updating an adaptive filter for echo cancellation of a communication device are disclosed. An echo canceller may include an adaptive filter that may be enabled to update responsive to a determination that a first condition is satisfied that there is no double talk detected on the communication device, and a determination that a second condition is satisfied based, at least in part, on the performance characteristic. The adaptive filter may be disabled from updating responsive to at least one of the first condition and the second condition not being satisfied. Disabling the adaptive filter from updating may be responsive to detecting a performance characteristic of the adaptive filter to fail to meet a condition indicating that the adaptive filter is diverging. The condition to be met may be independent of whether double-talk is determined to be present on the communication device.

FIELD

Embodiments of the present disclosure relate to echo cancellation incommunication devices. More particularly, the present disclosure relatesto updating an adaptive filter for echo cancellation in communicationdevices.

BACKGROUND

Communication systems, such as conventional telephone communicationsystems, provide audio communication between two or more users during acommunication session. Each user may communicate with each other using acommunication device having a speaker and a microphone. During acommunication session, the microphone of the communication device mayexperience echo (e.g., line echo, hybrid echo, acoustic echo). Thecommunication device may send a signal corresponding to the echo fromthe speaker to a far-end user's communication device. If the signaltransmitted by the communication device to the far-end user includesacoustical energy from the speaker, the far-end user may hear an “echo”of his or her own utterances. Conventional audio echo cancellation (AEC)techniques are designed to predict and remove the echo from anelectrical signal generated by the microphone. In a line echo situation,the near end user's echo is being canceled.

FIG. 1 is a simplified block diagram of a conventional communicationdevice 100. The communication device 100 includes a speaker 102 and amicrophone 104 that are operably coupled with a double-talk detector 106and an adaptive filter 108. In operation, the speaker 102 receives aspeaker signal SPKR including audio from a far-end user and converts thespeaker signal SPKR to sound waves for the near-end user to hear. Themicrophone 104 generates a microphone signal MIC that is based on thesound waves picked up by the microphone 104. The sound waves picked upby the microphone 104 may include the utterances from the near-end useras well as an echo of the speaker signal SPKR.

The adaptive filter 108 may include an echo predictor 110 that isconfigured to calculate a predicted echo ECHO′. The adaptive filter 108may subtract the predicted echo ECHO′ from the microphone signal MIC togenerate a filtered microphone signal FILT that has at least a portionof the echo removed. Ideally, the filtered microphone signal FILT hasthe full echo from the speaker signal SPKR removed such that thefiltered microphone signal FILT includes only the voice of the near-enduser, which may be transmitted to the far-end communication devicewithout echo. The filtered microphone signal FILT may sometimes bereferred to as an “error signal” during periods of speech or non-speechbecause it is the residual energy after cancelation.

The adaptive filter 108 may be configured to model the microphone echosignal ECHO to generate the predicted echo ECHO′, which may besubtracted from the microphone signal MIC. The adaptive filter 108 maymonitor the speaker signal SPKR and the filtered microphone signal FILTto update the adaptive filter 108 to reduce the error from the predictedecho ECHO′. The adaptive filter 108 may continue to remove the predictedecho ECHO′ from the microphone signal MIC, and the filtered microphonesignal FILT may be sent to the far-end user.

During a communication session, there may be a “double-talk” situation,in which the near-end user and the far-end user both speak at the sametime. If the adaptive filter 108 updates during double-talk, theadaptive filter 108 may use the voice of the near-end user to model themicrophone echo, which may result in the adaptive filter 108 maydiverging predicting an inaccurate echo. Such divergence may, in somesituations, increase the amount of echo heard by the far-end user orotherwise contribute to an unintelligible signal heard by the far-enduser.

The double-talk detector 106 may be configured to detect double-talk andprevent the adaptive filter 108 from updating during double-talk. Forexample, the double-talk detector 106 may send a double-talk signal DTto the adaptive filter 108, indicating that double-talk has beendetected. During double-talk the adaptive filter 108 may not update.Conventional double-talk detectors 106 may fail to detect double-talkaccording to some probability of miss. As a result, the adaptive filter108 may, at times, update during double-talk, which may cause theadaptive filter 108 to diverge. To reduce the effects of thisprobability of miss, conventional double-talk detectors 106 may beconfigured to assert the double-talk signal DT for a predeterminedamount of time (e.g., 40 ms) after detecting double-talk. Thisconventional approach may result in some improvements in reducinginstances of updating the adaptive filter 108 during double-talk;however, the inventor has appreciated that further improvements maystill be desirable.

BRIEF SUMMARY

In some embodiments, the disclosure comprises a method of operating acommunication device. The method comprises determining whether there isdouble-talk on a communication device, monitoring a performancecharacteristic of the communication device. The method further comprisesenabling an adaptive filter of an echo canceller to update responsiveto: a determination that a first condition is satisfied that there is nodouble talk detected on the communication device; and a determinationthat a second condition is satisfied based, at least in part, on theperformance characteristic. The method further comprises disabling theadaptive filter of the echo canceller from updating responsive to atleast one of the first condition and the second condition not beingsatisfied.

In some embodiments, the disclosure comprises a communication device.The communication device comprises an electronic circuit. The electroniccircuit comprises an adaptive filter, a double-talk detector configuredmonitor a microphone signal and a speaker signal for double talk, andcontrol logic. The control logic is configured to enable the adaptivefilter to update responsive to: a first condition being satisfied thatdouble-talk is not detected; and a second condition being satisfied thatis based, at least in part, on a performance characteristic of theadaptive filter.

In some embodiments, the disclosure comprises a method of operating acommunication device. The method comprises disabling an adaptive filterfrom updating responsive to detecting, with a control logic aperformance characteristic of the adaptive filter failing to meet acondition indicating that the adaptive filter is diverging, thecondition being independent of whether double-talk is determined to bepresent on the communication device.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a simplified block diagram of a conventional communicationdevice;

FIG. 2 a simplified block diagram of a communication device;

FIG. 3 is a simplified flowchart illustrating a method of operating acommunication device;

FIG. 4 is a simplified flowchart illustrating a method of operating acommunication device;

FIG. 5 is a simplified block diagram of a computing device; and

FIG. 6 is a simplified block diagram of a communication system includinga plurality of communication devices.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings that form a part hereof, and in which is shown byway of illustration, specific embodiments in which the presentdisclosure may be practiced. These embodiments are described insufficient detail to enable those of ordinary skill in the art topractice the present disclosure. It should be understood, however, thatthe detailed description and the specific examples, while indicatingexamples of embodiments of the present disclosure, are given by way ofillustration only and not by way of limitation. From this disclosure,various substitutions, modifications, additions, rearrangements, orcombinations thereof within the scope of the present disclosure may bemade and will become apparent to those of ordinary skill in the art.

In accordance with common practice, the various features illustrated inthe drawings may not be drawn to scale. The illustrations presentedherein are not meant to be actual views of any particular apparatus(e.g., device, system, etc.) or method, but are merely idealizedrepresentations that are employed to describe various embodiments of thepresent disclosure. Accordingly, the dimensions of the various featuresmay be arbitrarily expanded or reduced for clarity. In addition, some ofthe drawings may be simplified for clarity. Thus, the drawings may notdepict all of the components of a given apparatus or all operations of aparticular method.

Information and signals described herein may be represented using any ofa variety of different technologies and techniques. For example, data,instructions, commands, information, signals, bits, symbols, and chipsthat may be referenced throughout the description may be represented byvoltages, currents, electromagnetic waves, magnetic fields or particles,optical fields or particles, or any combination thereof. Some drawingsmay illustrate signals as a single signal for clarity of presentationand description. It should be understood by a person of ordinary skillin the art that the signal may represent a bus of signals, wherein thebus may have a variety of bit widths and the present disclosure may beimplemented on any number of data signals including a single datasignal.

The various illustrative logical blocks, modules, circuits, andalgorithm acts described in connection with embodiments disclosed hereinmay be implemented as electronic hardware, computer software, orcombinations of both. To clearly illustrate this interchangeability ofhardware and software, various illustrative components, blocks, modules,circuits, and acts are described generally in terms of theirfunctionality. Whether such functionality is implemented as hardware,software, or a combination thereof, depends upon the particularapplication and design constraints imposed on the overall system.Skilled artisans may implement the described functionality in varyingways for each particular application, but such implementation decisionsshould not be interpreted as causing a departure from the scope of theembodiments of the disclosure described herein.

In addition, it is noted that the embodiments may be described in termsof a process that is depicted as a flowchart, a flow diagram, astructure diagram, or a block diagram. Although a flowchart may describeoperational acts as a sequential process, many of these acts can beperformed in another sequence, in parallel, or substantiallyconcurrently. In addition, the order of the acts may be re-arranged. Aprocess may correspond to a method, a function, a procedure, asubroutine, a subprogram, etc. Furthermore, the methods disclosed hereinmay be implemented in hardware, software, or both. If implemented insoftware, the functions may be stored or transmitted as one or moreinstructions (e.g., software code) on a computer-readable medium.Computer-readable media includes both computer storage media andcommunication media including any medium that facilitates transfer of acomputer program from one place to another.

It should be understood that any reference to an element herein using adesignation such as “first,” “second,” and so forth does not limit thequantity or order of those elements, unless such limitation isexplicitly stated. Rather, these designations may be used herein as aconvenient method of distinguishing between two or more elements orinstances of an element. Thus, a reference to first and second elementsdoes not mean that only two elements may be employed there or that thefirst element must precede the second element in some manner. Also,unless stated otherwise a set of elements may comprise one or moreelements.

Elements described herein may include multiple instances of the sameelement. These elements may be generically indicated by a numericaldesignator (e.g., 110) and specifically indicated by the numericalindicator followed by an alphabetic designator (e.g., 110A) or a numericindicator preceded by a “dash” (e.g., 110-1). For ease of following thedescription, for the most part, element number indicators begin with thenumber of the drawing on which the elements are introduced or most fullydiscussed. Thus, for example, element identifiers on a FIG. 1 will bemostly in the numerical format 1xx and elements on a FIG. 4 will bemostly in the numerical format 4xx.

Embodiments of the present disclosure include systems, methods, anddevices for enabling and disabling updating an adaptive filter for echocancellation of a communication device. An echo canceller may include anadaptive filter that may be enabled to update responsive to adetermination that a first condition is satisfied that there is nodouble talk detected on the communication device, and a determinationthat a second condition is satisfied based, at least in part, on theperformance characteristic. The adaptive filter may be disabled fromupdating responsive to at least one of the first condition and thesecond condition not being satisfied. Disabling the adaptive filter fromupdating may be responsive to detecting a performance characteristic ofthe adaptive filter to fail to meet a condition indicating that theadaptive filter is diverging. The condition to be met may be independentof whether double-talk is determined to be present on the communicationdevice. In other words, if the condition is not met, the adaptive filtermay be disabled from updating even if double-talk has not been detected.As a result, the adaptive filter may update more often at times ofconverging rather than at time of diverging.

The terms “converge,” “converging,” “converges,” “converged,” and otherforms of the base word “converge” refer to a state of the adaptivefilter in which the error is reducing (i.e., approaching zero error).The terms “diverge,” “diverging,” “diverges,” “diverged,” and otherforms of the base word “diverge” refer to a state of the adaptive filterin which the error is increasing (i.e., moving away from zero).

Embodiments of the present disclosure span a variety of functions in avariety of applications. Embodiments of the present disclosure may bedescribed herein with reference to communication devices for the hearingimpaired. By way of non-limiting example, the communication device mayinclude any of a text-captioned communication device, a videocommunication device, an amplified audio communication device, andcombinations thereof. It should be noted, however, that embodiments ofthe present disclosure may include any application or environment whereecho cancelation in audio signals is desirable. For example, it iscontemplated that embodiments of the present disclosure may includecommunication devices for hearing-capable users, such as speaker phonedevices, telephones, cellular phones, personal computer, a notebookcomputer, a tablet computer, a smart phone, a conference call device,and other suitable communication devices.

FIG. 2 is a simplified block diagram of a communication device 200according to an embodiment of the disclosure. The communication device200 may include a speaker 202, a microphone 204, and an electroniccircuit 216. The electronic circuit 216 may include a double-talkdetector 206, an adaptive filter 208, an echo return loss enhancement(ERLE) measuring device 212, and a control logic 214. Each of thespeaker 202, the double-talk detector 206, the adaptive filter 208, andthe ERLE measuring device 212 may be configured to receive a speakersignal SPKR. The speaker signal SPKR may include an audio signal fromthe far-end to be converted to sound by the speaker 202. Also, each ofthe double-talk detector 206, the adaptive filter 208, and the ERLEmeasuring device 212 may be configured to receive a microphone signalMIC. The microphone signal MIC may include the audio signal from thenear-end that is captured by the microphone 204 to be sent to thefar-end.

The speaker 202 may include an audio output device configured to convertelectrical signals to acoustic energy. By way of non-limiting example,the speaker 202 may include a dynamic loudspeaker, a multipleloudspeaker system, a coaxial driver, and other suitableelectro-acoustic transducers. In some embodiments, the speaker 202 maybe implemented in a common enclosure as one or more other components ofthe communication device 200, such as, for example, in a speakerphonedevice. In some embodiments, the speaker 202 may be implementedexternally to the other components of the communication device 200. Byway of non-limiting example, the speaker 202 may be part of an audiosystem incorporated with a video phone. Also by way of non-limitingexample, the speaker 202 may include an amplified speaker in acommunication device for the hearing impaired. The speaker 202 may beconfigured to receive a speaker signal SPKR that includes an audiosignal from one or more other communication devices 200. The speaker 202may receive the speaker signal SPKR, which may be communicated through anetwork 630 by another communication device 620, as discussed in moredetail with respect to FIG. 6.

The microphone 204 may be an audio input device configured to convertacoustic energy to electrical signals. By way of non-limiting example,the microphone 204 may include any of a dynamic microphone, a condensermicrophone, a piezoelectric device, a light modulation device, and othersuitable audio input devices. Similar to the speaker 202, the microphone204 may be implemented either external to, or together with, the othercomponents of the communication device 200. The microphone 204 may beconfigured to generate a microphone signal MIC corresponding to acousticenergy received by the microphone 204. By way of non-limiting example,the microphone 204 may be configured to generate a microphone signalcorresponding to acoustic energy resulting from a user speaking into themicrophone.

In some embodiments, the microphone 204 may be positioned in relativelyclose proximity to the speaker 202. In operation, the microphone 204 mayconvert acoustic energy to the microphone signal MIC. The acousticenergy captured by the microphone 204 may include sound created by thenear-end user as well as by the sound created by the speaker 202 (e.g.,an echo). As a result, the microphone signal MIC may include a messagecomponent MSG from the user speaking, and an echo component ECHO fromthe speaker 202:MIC=MSG+ECHO.  (1)

The echo component ECHO of the microphone signal MIC may be approximatedby a convolution between the speaker signal SPKR and a transfer functiong(t).ECHO=SPKR*g(t).  (2)The transfer function g(t) may change over time as the acousticproperties of the surrounding environment of the speaker 202 may change.For example, the acoustic properties of the surrounding environment maychange when objects near the speaker 202 or microphone 204 move, whentemperature changes, etc. The echo may include line echo, hybrid echo,acoustic echo, and combinations thereof.

The adaptive filter 208 may be configured to filter the microphonesignal MIC to remove the echo—generating the filtered microphone signalFILT. For example, the adaptive filter 208 may be configured receive thespeaker signal SPKR and the microphone signal MIC, and output a filteredmicrophone signal FILT that has had a predicted echo signal ECHO′removed therefrom. Thus, the adaptive filter 208 may perform echocancellation for the microphone signal MIC.

The adaptive filter 208 may include an echo predictor 210 configured togenerate the predicted echo signal ECHO′. In some embodiments, the echopredictor 210 may be configured to generate an estimated transferfunction g′(t). The estimated transfer function g′(t) may be an estimateof the transfer function g(t). The echo predictor 210 may generate theestimated transfer function g′(t) by analyzing one or more of themicrophone signal MIC, the speaker signal SPKR, and the filteredmicrophone signal FILT. The estimated transfer function g′(t) may begenerated by using system identification techniques known in the art. Byway of non-limiting example, the echo predictor 210 may generate theestimated transfer function g′(t) by performing a deconvolution of themicrophone signal MIC with the speaker signal SPKR. Also by way ofnon-limiting example, the estimated transfer function g′(t) may begenerated using any of an output error polynomial model, anautoregressive-moving-average (ARMA) model, a Box-Jenkins polynomialmodel, and other suitable system identification techniques.

The echo predictor 210 may generate the predicted echo signal ECHO′ byconvolving the speaker signal SPKR with the estimated transfer functiong′(t). The adaptive filter 208 may generate the filtered microphonesignal FILT by removing the predicted echo signal ECHO′ from themicrophone signal MIC. The resulting filtered microphone signal FILT maybe:FILT=MIC−ECHO′.  (3)Combining equations (1) and (3), yields:FILT=MSG+ECHO−ECHO′.  (4)

When the predicted echo signal ECHO′ is approximately equal to the echocomponent ECHO of the microphone signal MIC, the filtered microphonesignal FILT is approximately equal to the message component MSG of themicrophone signal MIC. In other words, the better the echo predictor 210predicts the predicted echo signal ECHO′, the better the filteredmicrophone signal FILT approximates the message component MSG of themicrophone signal MIC.

Not only may the adaptive filter 208 be configured to predict the echosignal ECHO, the adaptive filter 208 may also determine the error ofthat prediction, and update the filter coefficients. As the adaptivefilter 208 updates, the adaptive filter 208 may converge to a solutionsuch that the error may be reduced. The adaptive filter 208 may include,for example, any of a recursive least-squares filter, a least meansquares (LMS) filter, a finite impulse response (FIR) filter and othersuitable filters.

Updating the adaptive filter 208 under different conditions may resultin different outcomes. A first such condition includes a situation wherethe user (sometimes referred to herein as “the near-end user”) of thecommunication device 200 is not speaking, and the other user (referredto herein as “the far-end user”) of another communication device 610,620 (FIG. 6) is speaking. This first condition is referred to herein as“the far-end only condition.”

In the far-end only condition, the message component MSG of themicrophone signal MIC is relatively small, and the echo component ECHOof the microphone signal MIC is relatively large. Assuming that themessage component MSG of the microphone signal MIC is zero, themicrophone signal MIC becomes:MIC=ECHO.  (5)

In such instances, it may be relatively easy to generate an accurateestimated transfer function g′(t) because the adaptive filter 208 mayhave access to both the speaker signal SPKR and the echo component ECHOof the microphone signal MIC. Updating the adaptive filter 208 duringthe far-end only condition may result in a relatively high likelihood ofthe adaptive filter 208 converging.

A second condition includes a situation where both the far-end user andthe near-end user are speaking at substantially the same time. Thissecond condition is referred to herein as a “double-talk condition.” Inthe double-talk condition, both the message component MSG of themicrophone signal MIC and the echo component ECHO of the microphonesignal MIC are relatively large. If the adaptive filter 208 updatesduring the double-talk condition, the message component MSG of themicrophone signal MIC may be factored into the calculation of theestimated transfer function g′(t), and may result in inaccuratepredicted echo signals ECHO′. The resulting filtered microphone signalFILT may be distorted, and may sometimes include more echo than theoriginal microphone signal MIC. Updating the adaptive filter 208 duringthe double-talk condition may result in a relatively high likelihood ofthe adaptive filter diverging.

A third condition includes a situation where the far-end speaker is notspeaking. This third condition is referred to herein as “the quietfar-end condition.” In the quiet far-end condition, the messagecomponent MSG of the microphone signal MIC may be relatively large whenthe near-end speaker is speaking, and relatively small when the near-endspeaker is not speaking. The echo component ECHO of the microphonesignal MIC may be relatively small. Assuming that the echo componentECHO of the microphone signal MIC is zero, the resulting microphonesignal MIC is:MIC=MSG.  (6)

In such instances, it may be difficult to generate an accurate estimatedtransfer function g′(t) because there is relatively little echocomponent ECHO of the microphone signal MIC. Updating the adaptivefilter 208 during the quiet far-end condition may not, however, resultin a relatively high likelihood of divergence because even if theestimated transfer function g′(t) is inaccurate, it may be convolvedwith a speaker signal SPKR of near zero-magnitude to produce a predictedecho signal ECHO′ of near zero-magnitude. The resulting filteredmicrophone signal FILT would be substantially the same as the microphonesignal MIC.

The double-talk detector 206 may be configured to receive the speakersignal SPKR and the microphone signal MIC. The double-talk detector 206may also be configured to analyze the speaker signal SPKR and themicrophone signal MIC to detect double-talk. The double-talk detector206 may include any of a Geigel detector, a normalized cross-correlationdetector, a fast normalized cross-correlation detector, and othersuitable double-talk detectors. If the double-talk detector 206 detectsdouble-talk, the double-talk detector 206 may assert a double-talksignal DT. If the double-talk detector 206 does not detect double-talk,the double-talk detector 206 may deassert the double-talk signal DT.Double-talk detectors 206 may occasionally make mistakes in theirdetection of double-talk. As a result, the double-talk detector 206 maysometimes deassert the double-talk signal DT during double-talk orassert the double-talk signal DT when there is no double talk detected.

As discussed above, it may be desirable for the adaptive filter 208 tonot update during double-talk. Doing so may reduce divergence that maybe caused by updating the adaptive filter 208 when the microphone signalMIC has a message component MSG. Thus, the adaptive filter 208 may beconfigured to update if there is an absence of the double talkcondition. By updating when there is no double-talk condition, themessage component MSG may be relatively low (e.g., close to zero), andthe microphone signal MIC may essentially be equal to the echo signalECHO. In other words, when there is an absence of the double talkcondition:FILT≈ECHO−ECHO′.  (7)

As a result, the filtered microphone signal FILT may essentially be thedifference between the echo signal ECHO and the predicted echo signalECHO′. In that situation, the filtered microphone signal FILT may beideally zero. If the filtered microphone signal FILT is not zero, thefiltered microphone signal FILT may be the error signal used by the echopredictor 210 to update the coefficients of the adaptive filter 208.

The adaptive filter 208 may also be configured to update responsive tomeasurements of the performance of the adaptive filter 208. In otherwords, the adaptive filter 208 may be enabled to update based on otherfactors rather than being solely based on result of the double-talkdetector 206. Thus, performance measurements used to enable or disablethe updating of the adaptive filter 208 may be based, at least in part,on the ERLE measured by the ERLE measuring device 212.

The ERLE measuring device 212 may be configured to receive the speakersignal SPKR, the microphone signal MIC, and the filtered microphonesignal FILT. The ERLE measuring device 212 may be configured todetermine an ERLE of the adaptive filter 208. By way of non-limitingexample, the ERLE may be:ERLE=−10 log₁₀(|FILT|/|MIC|),  (8)where | . . . | is the magnitude operator, and log₁₀( . . . ) is thebase-ten logarithm. In some embodiments, the ERLE may be calculated interms of running averages of the magnitudes of the filtered microphonesignal FILT and the microphone signal MIC. The ERLE measuring device 212may be configured to provide the ERLE results to the control logic 214.

The control logic 214 may be configured to receive the double-talksignal DT and the ERLE and determine when the conditions have been metto enable the adaptive filter 208 to update. A first condition mayinclude the double-talk detector 206 detecting double-talk, which may beindicated by the double-talk signal DT being asserted. A secondarycondition may be based, at least in part, on analysis of performancemeasurements (e.g., the ERLE) of the adaptive filter 208.

For example, in one embodiment, the adaptive filter may be configured tobe enabled for updating if the ERLE is above a threshold level. Thethreshold level may dynamically change over time. For example, the ERLEmay be compared with a threshold that may increase as the current ERLEvalue increases a peak ERLE (ERLE_(MAX)). The threshold may also decayover time if a predetermined time period has elapsed without theadaptive filter updating. Thus, if a relatively long period of time haselapsed since the last update, the threshold may be reduced (e.g., byreducing the ERLE_(MAX)) to encourage the adaptive filter 208 to comeout of its state of divergence.

In another embodiment, the adaptive filter 208 may be configured to beenabled for updating responsive if the ERLE associated with the adaptivefilter 208 is increasing, and greater than a threshold level of theERLE. In some embodiments, the threshold level may be dynamic thresholdlevel that is based on the peak ERLE (ERLE_(MAX)) measured duringoperation less some tolerance level. ERLE_(MAX) may update duringoperation as a new peak ERLE is measured. In some embodiments, thethreshold level may be a predetermined threshold level that acts as afloor for the ERLE. In some embodiments, the ERLE may be compared withthe dynamic threshold level and the predetermined threshold level suchthat the secondary condition may be satisfied if the ERLE is greaterthan either one (so long as the ERLE is still increasing). Thus, theadaptive filter 208 may be permitted to update if the double-talkdetector 206 does not detect double-talk and the second conditions ofthe ERLE are satisfied.

As an example, if the conditions have been satisfied to enable theadaptive filter 208 to update, the control logic 214 may assert theupdate signal UPDATE. Thus, the control logic 214 may also be configuredto analyze the double-talk signal DT and the ERLE, and assert the updatesignal UPDATE responsive to the double-talk signal DT not beingasserted, the ERLE increasing, and the ERLE being above either athreshold as discussed above. As a result, even if the double-talkdetector 206 fails to assert the double-talk signal DT duringdouble-talk, the control logic 214 may not assert the update signalUPDATE unless the ERLE is both increasing and above the threshold.

The first threshold may be a dynamic threshold that is set at a level(e.g., 3 dB) below peak ERLE (ERLE_(MAX)). For example, if the peak ERLE(ERLE_(MAX)) is 25 dB the first threshold may be set at 22 dB if thelevel below the peak ERLE (ERLE_(MAX)) is set at 3 dB. The threshold maybe reduced by a decay value (e.g., 3 dB) if a predetermined period oftime has elapsed without the adaptive filter updating during a nondouble-talk situation. As an example, the ERLE_(MAX) (e.g., 25 dB) maybe reduced by the decay value (e.g., 3 dB) to have a new ERLE_(MAX)(e.g., 22 dB). As a result, the threshold used may be lower (e.g., 19dB) than in a previous iteration of monitoring the secondary conditions.

In some embodiments, different thresholds may be used. For example, thefirst threshold may be a dynamic threshold simply set at a value belowthe peak ERLE (ERLE_(MAX)). A second threshold may also be used. Thesecond threshold may be a predetermined threshold that is set at a level(e.g., 18 dB) that is set as a floor for satisfactory performance of theadaptive filter 208 during echo cancellation. If the ERLE is below bothof the first threshold and the second threshold, the adaptive filter 208may be seen as being in a state of divergence such that it would beundesirable to update the adaptive filter 208 even if the double-talkdetector 206 did not detect double-talk.

The initial ERLE of the adaptive filter 208 may be relatively low suchthat it may appear to be in a state of divergence. In order to allow forthe adaptive filter 208 to begin updating in this initial state, theinitial condition of the first threshold may be set lower than thesecond threshold so that the adaptive filter 208 may begin updating atthe outset even though the ERLE may be relatively low. For example, theinitial condition of the peak ERLE (ERLE_(MAX)) may be set at 0 dB oranother relatively low value (e.g., a negative value). As the ERLEincreases, the peak ERLE (ERLE_(MAX)) may be updated repeatedly so thatthe first threshold dynamically increases to a relatively higher level.Once the first threshold rises above the second threshold, the secondthreshold may essentially be the determining threshold for whether ornot the second condition is satisfied. Thus, the first threshold may bemore significant for situations when the adaptive filter 208 starts up,is reset, or otherwise begins updating from its initial conditions. Insome embodiments, the communication device 200 may include a resetdevice that may be configured to reset one or more components of thecommunication device 200 to its initial conditions if the adaptivefilter 208 is in a state of divergence wherein it would be preferable toreset the adaptive filter 208 rather than to allow the divergingadaptive filter 208 to continue diverging.

FIG. 3 is a simplified flowchart 300 illustrating a method of operatinga communication device 200 (FIG. 2). In particular, the methodillustrates determining whether the conditions are met for enabling theadaptive filter 208 (FIG. 2) to update. As discussed above, rather thanrelying solely on the double-talk determination by the double-talkdetector 206 (FIG. 2), additional conditions of the adaptive filter 208may be monitored before enabling the adaptive filter to update.According to the embodiment of FIG. 3, the monitor a number of timesthat the secondary conditions were not satisfied during a non-doubletalk condition. For example, a timer may be used to count (up or down)for a predetermined amount of time (e.g., a predetermined number ofcounts), during which the secondary conditions may be monitored. If thesecondary conditions are not met after a predetermined limit has beenmet between updates, the threshold used for the secondary conditions maybe dynamically changed by reducing the peak ERLE by a decay constant.

At operation 305, a no update count (NUC) may be reset to an initialcondition (e.g., set to 0). The NUC may indicate an amount of time thathas elapsed since an update has occurred. An amount of “time” does notnecessarily require that the time period be measured in standardmeasurements of time (e.g., seconds). Rather, an amount of time mayinclude a number of counts that occur to indicate a number of iterationsthat have taken place since a prior update.

At operation 310, it may be determined if double-talk is detected. Insome embodiments, the control logic 214 (FIG. 2) may receive thedouble-talk signal DT from the double-talk detector 206. If thedouble-talk detector 206 detects double-talk, the double-talk detector206 may assert the double-talk signal DT. If the double-talk detector206 does not detect double-talk, the double-talk detector 206 maydeassert the double-talk signal DT. If the control logic 214 determinesthat the double-talk detector 206 detected double-talk, the updating maybe disabled for the adaptive filter 208 at operation 355. For example,the control logic 214 may deassert the update signal UPDATE, whichindicates that at least one condition for enabling updating the adaptivefilter 208 has not been satisfied.

Returning to operation 310, if the double-talk detector 206 does notdetect double-talk, the double-talk detector 206 may indicate thatdouble-talk is not detected by deasserting the double-talk signal DT.The control logic 214 may receive the deasserted double-talk signal DT.Even if double-talk was not detected, one or more secondary conditionsmay still be required to be satisfied before the updating may be enabledfor the adaptive filter 208.

At operation 315, the ERLE may be measured. As discussed above, the ERLEmeasuring device 212 may be configured to receive the speaker signalSPKR, the microphone signal MIC, and the filtered microphone signalFILT. In some embodiments, the ERLE may be determined according toequation (8). In some embodiments, the ERLE may be calculated in termsof running averages of the magnitudes of the filtered microphone signalFILT and the microphone signal MIC.

At operation 320, the control logic 214 may determine if the ERLE isincreasing. In some embodiments, the control logic 214 may determine ifthe ERLE is increasing by monitoring the ERLE signal from measured bythe ERLE measuring device 212. For example, the measured ERLE value maybe compared with at least one historical ERLE value to determine whetherthe ERLE is increasing. The comparison may be based on the valueimmediately prior to the measured ERLE value, a plurality of prior ERLEvalues (e.g., that may indicate a trend, that may provide an averagedvalue, etc.).

If the control logic 214 determines that the ERLE is not increasing, theadaptive filter 208 may not be enabled for updating at operation 355(e.g., by deasserting the update signal UPDATE). If, however, thecontrol logic 214 determines that the ERLE is increasing, the controllogic 214 may determine if the ERLE is greater than a threshold that maybe set to be a tolerance value (TH) below the peak ERLE (ERLE_(MAX)).Because the ERLE_(MAX) may change over time as ERLE increases, thethreshold may be a dynamic threshold. By way of non-limiting example,the threshold may be a threshold that is 3 dB below the peak ERLE(ERLE_(MAX)). If the ERLE is greater than the threshold (i.e.,ERLE_(MAX)−TH), the adaptive filter 208 may determine that the secondaryconditions are met in addition to the double talk condition beingabsent. As a result, the NUC may be reset (operation 330), and theadaptive filter 208 may be enabled for updating at operation 340 (e.g.,by asserting the update signal UPDATE to the adaptive filter 208). TheNUC may be reset in this instance to start over with the time periodbetween the updates.

Returning to operation 325, if the control logic 214 determines that theERLE is not greater than the threshold, NUC may update (e.g., NUC++) atoperation 345 because the secondary conditions were not satisfied. Atoperation 350, the control logic 214 may determine if the NUC hasexceeded a predetermined limit. In other words, for each iteration thatdouble-talk is not detected but that the secondary conditions are notmet, the NUC may update until the predetermined limit is exceeded.

If the predetermined limit for the NUC is not exceeded, the adaptivefilter updating may be disabled at operation 355 and the primary andsecondary conditions may continue to be monitored. If, however, thepredetermined limit has been exceeded without the secondary conditionsbeing met (therefore, not enabling the adaptive filter to update), theNUC may be reset (operation 360) and the threshold for the ERLE may beadjusted downward at operation 370. For example, the threshold may bedecreased by a decay constant (AD). For example, ERLE_(MAX) may bedecreased by the decay constant (AD) so that the next time the secondaryconditions are monitored, they will more likely be satisfied in case thesystem is in a relatively low performance state in need of updatingwithout resetting the values.

As discussed above, operational acts of a flow-chart may be re-arrangedand/or performed in another sequence, in parallel, or substantiallyconcurrently. Regardless of when the operations are performed, theadaptive filter 208 may be updated if no double-talk is detected atoperation 310 and the secondary conditions are satisfied (e.g., the ERLEis increasing at 320, and the ERLE is greater than the threshold(operation 325) that may be dynamically adjusted over time).

FIG. 4 is a simplified flowchart 400 illustrating a method of operatinga communication device 200 (FIG. 2) according to another embodiment ofthe present disclosure. At operation 410, it may be determined ifdouble-talk is detected. In some embodiments, the control logic 214 mayreceive the double-talk signal DT from the double-talk detector 206. Ifthe double-talk detector 206 detects double-talk, the double-talkdetector 206 may assert the double-talk signal DT. If the double-talkdetector 206 does not detect double-talk, the double-talk detector maydeassert the double-talk signal DT. If the control logic 214 determinesthat the double-talk detector 206 detected double-talk, the updating maybe disabled for the adaptive filter 208 at operation 420. For example,the control logic 214 may deassert the update signal UPDATE, whichindicates that at least one condition for enabling updating the adaptivefilter 208 has not been satisfied.

Returning to operation 410, if the double-talk detector 206 does notdetect double-talk, the double-talk detector 206 may indicate thatdouble-talk is not detected by deasserting the double-talk signal DT.The control logic 214 may receive the deasserted double-talk signal DT.Even if double-talk was not detected, one or more secondary conditions405 may still be required to be satisfied before the updating may beenabled for the adaptive filter 208.

At operation 430, the control logic 214 may determine if the ERLE isincreasing. In some embodiments, the control logic 214 may determine ifthe ERLE is increasing by monitoring the ERLE signal from received fromthe ERLE measuring device 212. If the control logic 214 determines thatthe ERLE is not increasing, the adaptive filter 208 may not be enabledfor updating at operation 420 (e.g., by deasserting the update signalUPDATE).

At operation 440, the control logic 214 may determine if the ERLE isgreater than the first threshold that may be set to be a tolerance value(TH₁) below the peak ERLE (ERLE_(MAX)). By way of non-limiting example,the first threshold may be a dynamic threshold that is 3 dB below thepeak ERLE (ERLE_(MAX)). If the ERLE is greater than the first threshold,the adaptive filter 208 may be enabled for updating at operation 460(e.g., by asserting the update signal UPDATE).

Returning to operation 440, if the control logic 214 determines that theERLE is not greater than the first threshold, the control logic 214 maydetermine if the ERLE is greater than the second predetermined thresholdat operation 450. By way of non-limiting example, the secondpredetermined threshold may be in the range of about 18 dB to 20 dB. Ifthe control logic 214 determines that the ERLE is not greater than thesecond predetermined threshold, the adaptive filter 208 may not beenabled for updating at operation 420.

Returning to operation 450, if the control logic 214 determines that theERLE is greater than the second threshold, the adaptive filter 208 maybe enabled for updating at operation 460.

As discussed above, operational acts of a flow-chart may be re-arrangedand/or performed in another sequence, in parallel, or substantiallyconcurrently. Regardless of when the operations 410, 420, 430, 440, 450,460 are performed, the adaptive filter 208 may be updated if nodouble-talk is detected at operation 410 and the additional conditions405 are satisfied (e.g., the ERLE is increasing at 430, and the ERLE isgreater than at least one of the first threshold and the secondthreshold, wherein the first threshold may dynamically change over timeand the second threshold may be a fixed threshold).

FIG. 5 is a simplified block diagram of a computing device 500. Thecomputing device 500 may include at least a processor 510 operablycoupled to a memory device 520. The processor 510 may comprise any of amicrocontroller, a field programmable gate array (FPGA), a centralprocessing unit (CPU), an application-specific integrated circuit(ASIC), and other processors. The processor 510 may be configured toexecute machine-readable commands stored on the memory device 520. Thememory device 520 may be a computer-readable medium, comprising any of arandom access memory (RAM), a read-only memory (ROM), a Flash memory,other suitable memory devices, and combinations thereof. The memorydevice 520 may store memory commands directed to implementing at leastone of the double-talk detector 206 (FIG. 2), the adaptive filter 208(FIG. 2), the ERLE measuring device 212 (FIG. 2), and the control logic214 (FIG. 2). Thus, in some embodiments, at least one of the double-talkdetector 206, the adaptive filter 208, the ERLE measuring device 212,and the control logic 214 may be implemented with software. In someembodiments, each of the double-talk detector 206, the adaptive filter208, the ERLE measuring device 212, and the control logic 214 may beimplemented with hardware. In some embodiments, at least one of thedouble-talk detector 206, the adaptive filter 208, the ERLE measuringdevice 212, and the control logic 214 may be implemented with software,and the rest with hardware.

FIG. 6 is a simplified block diagram of a communication system 600including a plurality of communication devices 610, 620. Eachcommunication device 610, 620 may be configured to communicate withother communication devices 610, 620 through a network 630. Thecommunication devices 610, 620 may also optionally be configured tocommunicate with a relay service 640 configured to provide translationservices (e.g., captioning, video) through the network 630. AlthoughFIG. 6 illustrates only two communication devices 610, 620, thecommunication system 600 may include more communication devices.

The network 630 may be configured to facilitate communications betweenthe communication devices 610, 620. As non-limiting examples, thenetwork 630 may include an internet protocol (IP) network configured totransmit public switched telephone networks (PSTNs), cellular phonenetworks, other similar networks, and combinations thereof. The network630 may include a wide area network (WAN), a local area network (LAN), apersonal area network (PAN), and combinations thereof. In someembodiments, the network 630 may include a cloud network. The network630 may be configured to communicate with the communication devices 400wirelessly, through a cable, and combinations thereof. Some non-limitingexamples of suitable wireless communications may include “WiFi,”Bluetooth, and mobile wireless networks. Some non-limiting examples ofsuitable cables include fiber-optic cables, coaxial cables, traditionaltelephone cables, and Ethernet cables.

A first communication device 610 may be configured to generate afiltered microphone signal FILT by removing a predicted echo from amicrophone signal MIC (FIG. 2), as discussed with respect to thecommunication device 200 of FIG. 2. In some embodiments, the firstcommunication device 610 may be a communication device for the hearingimpaired, such as, for example, a text-captioned communication device, avideo communication device, an amplified audio communication device, andcombinations thereof. In some embodiments, the first communicationdevice 610 may be a communication device for hearing-capable users.

A second communication device 620 may be a communication device for ahearing-capable user, such as, for example, a conventional telephone,cellular phone, computer (e.g., personal computer, tablet, laptop,etc.), smart phone, etc. In some embodiments, however, the secondcommunication device 620 may be another communication device for thehearing impaired. Also, in some embodiments, the second communicationdevice 620 may be configured to remove a predicted echo from microphonesignals, as discussed with respect to the communication device 200 ofFIG. 2, or as discussed with respect to the conventional communicationdevice 100 of FIG. 1. In such embodiments, the second communicationdevice 620 may send a filtered microphone signal FILT through thenetwork 630 to the first communication device 610. The firstcommunication device 610 may receive the filtered microphone signal FILTas a speaker signal SPKR. Also, the first communication device 610 maysend a filtered microphone signal FILT to the second communicationdevice 620 through the network 630. The second communication device 620may receive the filtered microphone signal FILT as its speaker signalSPKR7.

In some embodiments, the second communication device 620 may not beconfigured to remove a predicted echo from microphone signals. In suchembodiments, the second communication device 620 may send a microphonesignal MIC to the first communication device 610 through the network630. The first communication device 610 may receive the microphonesignal MIC as its speaker signal SPKR.

As previously mentioned, the communication system 600 may include morethan two communication devices. In addition, more than two communicationdevices may participate together in a single call session. By way ofnon-limiting example, three or more communication devices mayparticipate in a call session. The speaker signal SPKR of eachcommunication device 610, 620 may include a combination of microphoneMIC or filtered microphone signals FILT from the other communicationdevices 610, 620. In some embodiments, the speaker signal SPKR may be asum of the microphone MIC or filtered microphone signals FILT from theother communication devices 610, 620.

The relay service 640 may be configured to provide translation servicesfor hearing-impaired users of the communication devices 610, 620. Insome embodiments, relay service 640 may act as a router for voice signalbetween the communication devices 610, 620. In some embodiments, thecommunication devices 610, 620 may be coupled more directly through thenetwork 630 such that at least one of the communication devices 610, 620may route the voice signal(s) to the relay service 640.

By way of non-limiting example, if the first communication device 610 isa text-captioned communication device, the relay service 640 may receivethe speaker signal SPKR from one of the first communication device 610and the second communication device 620 through the network 630. Therelay service 640 may convert verbal utterances from the speaker signalSPKR to a text transcription of at least one side of the conversation.The relay service 640 may send the text transcription to the firstcommunication device 610 through the network 630. In some embodiments, acall assistant at the relay service 640 may transcribe the verbalutterances from the speaker signal SPKR. The call assistant may re-speakthe verbal utterances into a speech recognition device, which mayconvert the re-spoken verbal utterances into text. In some embodiments,the verbal utterances from the speaker signal SPKR may be input directlyinto the speech recognition device, which may convert the verbalutterances into text without a call assistant.

Also by way of non-limiting example, if the first communication device610 is a video communication device, the relay service 640 may be avideo relay service (VRS). The relay service 640 may receive video fromthe first communication device 610 through the network 630. The videofrom the first communication device 610 may be, for example, a video ofa hearing impaired user communicating with non-verbal expressions, suchas, for example, American Sign Language (ASL). A call assistant at therelay service 640 may translate the non-verbal expressions of thehearing-impaired user to speech, and the relay service 640 may send thespeech to the second communication device 620 through the network 630.In addition, the relay service 640 may receive the MIC/FILT signal fromthe second communication device 620 through the network 630, and thecall attendant at the relay service 640 may translate verbal utterancesfrom the MIC/FILT signal to non-verbal expressions. A video of the callattendant's non-verbal expressions may be sent through the network tothe first communication device 610.

It is contemplated within the scope of the present disclosure that theelectronic circuit 216 (FIG. 2) may be used in the communication device610, 620 to remove an echo of the filtered microphone signal FILTcreated in the speaker signal SPKR at the far end user's communicationdevice 620. A microphone 204 and speaker 202 (FIG. 2) of the far enduser's communication device 620 may be at least partially acousticallycoupled. As a result, the speaker signal SPKR at the near-endcommunication device 610 may include an echo of the filtered microphonesignal FILT. The electronic circuit 216 may be configured similarly tothe configuration of FIG. 2, except that the speaker signal SPKR signaland the microphone signal MIC may be swapped, and the adaptive filter208 configured to output a filtered speaker signal instead of a filteredmicrophone signal FILT.

It is further contemplated within the scope of the present disclosurethat the communication device 610, 620 may include a first electroniccircuit 216 that may be used to filter the microphone signal MIC, and asecond electronic circuit 216 that may be used to filter the speakersignal SPKR. In such embodiments, the first and second electroniccircuit 216 may share a single double-talk detector 206 (FIG. 2), oreach of the electronic circuits 216 may include its own double-talkdetector 206.

While certain illustrative embodiments have been described in connectionwith the figures, those of ordinary skill in the art will recognize andappreciate that embodiments encompassed by the disclosure are notlimited to those embodiments explicitly shown and described herein.Rather, many additions, deletions, and modifications to the embodimentsdescribed herein may be made without departing from the scope ofembodiments encompassed by the disclosure, such as those hereinafterclaimed, including legal equivalents. In addition, features from onedisclosed embodiment may be combined with features of another disclosedembodiment while still being encompassed within the scope of embodimentsencompassed by the disclosure as contemplated by the inventor.

What is claimed is:
 1. A method of operating a communication device, themethod comprising: determining whether there is double-talk on acommunication device; monitoring an echo return loss enhancement (ERLE)of an adaptive filter of an echo canceller of the communication device;enabling an adaptive filter of an echo canceller to update responsiveto: a determination that a first condition is satisfied that there is nodouble-talk detected on the communication device; and a determinationthat a second condition is satisfied based, at least in part, on adetermination that the ERLE is increasing and greater than a dynamicallychanging threshold that decays over time if a predetermined time periodhas elapsed while monitoring the ERLE; and disabling the adaptive filterof the echo canceller from updating responsive to either one of thefirst condition and the second condition not being satisfied.
 2. Themethod of claim 1, wherein monitoring the ERLE comprises: receiving,with an ERLE measuring device, a microphone signal from a microphone,and a filtered microphone signal from the adaptive filter; andcalculating a negative logarithm of a ratio of the magnitude of thefiltered microphone signal to the magnitude of the microphone signal. 3.The method of claim 1, wherein determining the ERLE comprises:receiving, with an ERLE measuring device, a microphone signal from amicrophone, and a filtered microphone signal from the adaptive filter;and calculating a negative logarithm of a ratio of a running average ofthe magnitude of the filtered microphone signal to a running average ofthe magnitude of the microphone signal.
 4. The method of claim 1,wherein: disabling the adaptive filter of the echo canceller fromupdating includes asserting a double-talk signal with a double-talkdetector responsive to detecting the double-talk from a microphonesignal and a speaker signal; and enabling the adaptive filter of theecho canceller to update includes deasserting the double-talk signalwith the double-talk detector if no double-talk is detected by thedouble-talk detector to satisfy the first condition.
 5. The method ofclaim 1, further comprising periodically updating the adaptive filter ifan error is detected while updating is enabled for the adaptive filter.6. A method of operating a communication device, the method comprising:determining whether there is double-talk on a communication device;monitoring a performance characteristic of the communication device;enabling an adaptive filter of an echo canceller to update responsiveto: a determination that a first condition is satisfied that there is nodouble-talk detected on the communication device; and a determinationthat a second condition is satisfied based, at least in part, on theperformance characteristic; and disabling the adaptive filter of theecho canceller from updating responsive to either one of the firstcondition and the second condition not being satisfied; whereinmonitoring the performance characteristic includes monitoring an echoreturn loss enhancement (ERLE) of the adaptive filter as the performancecharacteristic; and wherein a threshold for the ERLE decays over time ifa predetermined time period has elapsed while monitoring the ERLE fordetermining whether to enable the adaptive filter to update.
 7. Acommunication device, comprising: an electronic circuit, comprising: anadaptive filter; a double-talk detector configured to monitor amicrophone signal and a speaker signal for double talk; and controllogic configured to enable the adaptive filter to update responsive to:a first condition being satisfied that double-talk is not detected; anda second condition being satisfied that is based, at least in part, onan increasing echo return loss enhancement (ERLE) of the adaptive filterthat is also greater than a dynamic ERLE threshold that decays over timeif a predetermined time period has elapsed while monitoring the ERLE. 8.The communication device of claim 7, wherein the ERLE threshold is setat a predetermined level below a peak ERLE.
 9. The communication deviceof claim 7, wherein the second condition being satisfied furtherincludes the ERLE being greater than another threshold for the ERLE. 10.The communication device of claim 9, wherein the another threshold isconfigured to be a predetermined static threshold.
 11. The communicationdevice of claim 7, wherein the electronic circuit further comprises: acomputing device, comprising: a memory device including machine-readablecommands directed to implementing at least one of the adaptive filter,the double-talk detector, and the control logic; and a processor forexecuting the machine-readable commands, the processor operably coupledto the memory device.
 12. The communication device of claim 7, whereinthe electronic circuit further comprises an ERLE measuring deviceconfigured to: receive the microphone signal from a microphone; receivea filtered microphone signal from the adaptive filter; and determine theERLE with the microphone signal and the filtered microphone signal. 13.The communication device of claim 7, wherein the adaptive filtercomprises an echo predictor configured to predict an echo of the speakersignal in the microphone signal.
 14. The communication device of claim13, wherein the echo includes echo selected from the group consisting ofline echo, hybrid echo, and acoustic echo.
 15. A method of operating acommunication device, the method comprising: disabling an adaptivefilter from updating responsive to detecting, with a control logic, thatan echo return loss enhancement (ERLE) is decreasing with a magnitudeless than a first ERLE threshold that decays over time while the ERLE isbeing monitored, independent of whether double-talk is determined to bepresent on the communication device.
 16. The method of claim 15, whereinthe ERLE threshold dynamically changes based on a new peak ERLE, andfurther including a second ERLE threshold that is static and set belowthe first ERLE threshold.
 17. A method of operating a communicationdevice, the method comprising: disabling an adaptive filter fromupdating responsive to detecting, with a control logic, a performancecharacteristic of the adaptive filter failing to meet a conditionindicating that the adaptive filter is diverging, the condition beingindependent of whether double-talk is determined to be present on thecommunication device; wherein: detecting the performance characteristicof the adaptive filter failing to meet the condition includes at leastone of: determining that an echo return loss enhancement (ERLE) isdecreasing; and determining that the ERLE has a magnitude lower than athreshold for the ERLE; the threshold is at least one of a firstthreshold that dynamically changes based on a new peak ERLE, and asecond threshold that is static; and the first threshold furtherdynamically changes by reducing the peak ERLE by a decay constant if theadaptive filter has not been enabled for updating for a predeterminedperiod of time during a non double-talk situation.
 18. A communicationdevice configured to communicate through a network with a relay serviceconfigured to provide captioning translation services to enable anear-end hearing-impaired user to participate in communication sessionswith an audibly-capable user of a far-end communication device, thecommunication device comprising: an electronic display configured todisplay a text caption received from the relay service during thecommunication sessions; a microphone configured to convert near-endacoustic energy to a microphone signal for transmission to the far-endcommunication device; a speaker configured to convert a speaker signalfrom the far-end communication device to acoustic energy to the near-endhearing-impaired user; and control logic operably coupled to themicrophone and the speaker, the control logic including a double-talkdetector configured to monitor the microphone signal and a speakersignal to detect double talk, an adaptive filter configured to predictan echo of the speaker signal on the microphone signal and remove thepredicted echo from the microphone signal, and an echo return lossenhancement (ERLE) measuring module configured to calculate an ERLE ofthe adaptive filter, the control logic configured to enable the adaptivefilter to update responsive to: a first condition being satisfied thatdouble-talk is not detected; and a second condition being satisfied thatis based, at least in part, on: a determination that the ERLE of theadaptive filter is increasing; and a determination that the ERLE of theadaptive filter is greater than a dynamically changing threshold that isreduced by a decay constant over time if the adaptive filter has notbeen enabled for updating for a predetermined period of time during anon double-talk situation.